#include "stm32f10x.h" // Device header
#include "PWM.h"
#include "Pins.h"

void Motor_Init(void)
{
	PWM_Init();
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Pin = AIN2 | AIN1 | BIN2 | BIN1;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOA, &GPIO_InitStructure);
}

void Motor_SetPWM1(int16_t PWM)
{
	if (PWM > 0)
	{
		GPIO_SetBits(GPIOA, AIN2);
		GPIO_ResetBits(GPIOA, AIN1);
		PWM_SetPWM1(PWM);
	}
	else
	{
		GPIO_SetBits(GPIOA, AIN1);
		GPIO_ResetBits(GPIOA, AIN2);

		PWM_SetPWM1(-PWM);
	}
}
void Motor_SetPWM2(int16_t PWM)
{
	if (PWM > 0)
	{

		GPIO_SetBits(GPIOA, BIN2);
		GPIO_ResetBits(GPIOA, BIN1);
		PWM_SetPWM2(PWM);
	}
	else
	{

		GPIO_SetBits(GPIOA, BIN1);
		GPIO_ResetBits(GPIOA, BIN2);
		PWM_SetPWM2(-PWM);
	}
}
